Why can't I open my DBF database?

Description

When you are working in the Alpha Anywhere IDE and have a project open, Alpha Anywhere always knows what databases are in your project. That's not true if no project is open, or the IDE is not running. Suppose your project has a table called customer. If you go to the interactive window and type

t = table.open("customer")

as opposed to

t = table.open("c:\mydata\customer.dbf")

then Alpha Anywhere initially tries to open a file called 'customer' and fails. So it then tries to resolve 'customer' to a full filename by using the function

table.filename_get("customer")

When the control panel is open, Alpha Anywhere can look into the control panel and then

table.filename_get("customer")

will return c:\mydata\customer.dbf. This is why

t = table.open("customer")

works when the control panel is open. When the app server is running, however, there is no control panel open. So, from the app server,

table.filename_get("customer")

returns "" because there is no way for Alpha Anywhere to resolve "customer" to get the fully qualified filename. The usual way of fixing this in a web application is to prefix the table reference with a path alias. See Path and Connection String Aliases for more information.